The present invention relates to handheld computers and more specifically to messaging software running on the handheld computer controlling the interaction between a handheld computer and a server computer.
Communications between a handheld PC (H/PC) and an email server are governed by a predefined protocol which outlines a number of restrictive rules and guidelines. Protocols are established to allow effective communications between email servers and the many different computer systems. The user of the client computer system, which communicates with a particular email server, must know or determine the protocol employed by that server. The client computer is configured such that all requests delivered to that server conform to the rules of the protocol.
Many email servers use what is known as the Post Office Protocol (POP). In general, POP is a simple, rudimentary email protocol designed primarily to facilitate transferring or downloading of email messages from the server to the client and allowing the client to delete email messages on the server. Consequently, the POP protocol does not provide extensive manipulation operations of email messages located on the POP server, i.e., the server using the POP protocol.
Another common email communications protocol is known as the Internet Message Access Protocol (IMAP). IMAP is a protocol that is similar to POP in that it also allows for the downloading of email messages from an email server to a client computer and the deleting of email messages located on the email server by the client computer. However, IMAP also provides more features to the client, permitting the client to manipulate the email messages in various ways while the email is still on the IMAP server. As an example, IMAP allows the client to search through email messages by keyword or by date, and then download selected email messages based on the search. POP does not have such searching capabilities, let alone selective downloading based on a search.
Each email server generally operates according to only one of the protocols, POP or IMAP, and the end user must therefore configure the client computer to operate according to the particular protocol used by the server.
The amount of memory available for use by the H/PC is typically considerably less than relatively large desktop PCs that typically hold substantially more memory, both operational memory and long-term storage memory. The memory constraint significantly impacts the amount of data that can be downloaded to and stored on the H/PC during a communications session. As a result, it may be possible to download too much data at one time, which could potentially consume all the available memory and cause significant problems related to functionality and performance. Email provides unique risks with respect to potentially downloading too much information during a particular session because the sizes of email message are unpredictable and may be quite large. For example, each email message may include various attachments in addition to the email message text wherein the attachments are electronic files that may potentially be extremely large and consume large quantities of storage memory. In addition to size, a particular user may receive an excessive number of email messages between sessions that could potentially consume significant storage memory.
Considering the unpredictable nature of email communications with respect to attachments and the potentially large number of email messages, it may be impractical to download every email message to the H/PC during a session. However, most users receive certain email messages that are typically more important than others, and in essence, the user is more concerned about some email messages than others such that all email generally does not have to be downloaded during each session. As an example, a particular user may be less concerned about downloading email messages that have been read or email messages that are outdated and stale. Alternatively however, the user may demand that the most recent, unread email messages be downloaded during each session. Additionally, the user may not be concerned with keeping old local copies of email messages, whether they have been read or unread, once the messages have become outdated and stale. These old messages tend to consume memory unnecessarily.
Depending on the protocol used during a connect session between the H/PC and the server, the H/PC may be able to effectively control the amount and number of email messages downloaded during a session. Using IMAP for example, the user may simply request only the email messages that have been received by the server within a particular date range, e.g., the last couple of days. Unfortunately, POP does not provide this capability, such that users communicating with POP servers may not be able to selectively download email messages. Additionally, neither the POP or the IMAP protocols automatically maintain or control the existing files on the H/PC to avoid the buildup of stale email messages on the H/PC.
Implementing some type of selective download and deletion regime on the server may jeopardize the ability of the client user to download particular files that may have become stale. Moreover, the user does not have control over the email server, which is typically in a remote location and managed by another person. Therefore, techniques implemented in desktop PCs, which the user can control to selectively download information, generally do not apply to transporting the information directly from the server to the H/PC.
It is with respect to these and other considerations that the present invention has been made.
The present invention solves the above and other problems by selective retrieval by a client of items, such as email messages, from a server through either a POP transport or an IMAP transport and the selective maintenance of items on the client. The retrieval is based on predetermined criteria, such as predetermined date, size or keyword information. Yet another aspect of the present invention relates to the operating system of the invention being configurable by the user with respect to predetermined criteria, according to which the items are selectively retrieved.
The present invention achieves these and other aspects by executing a number of computer operations during a time of connection between the H/PC and the server, i.e., a connect session. Initially, the H/PC downloads preliminary information from the server on the client/server network and determines which items are not presently on the H/PC. Those items located on the server and not on the H/PC are selected for downloading to the H/PC. However, before each item is downloaded to the H/PC in its entirety, the H/PC downloads only the header of the selected item. The header information, or secondary information, is analyzed to determine whether to download the entire item based on predetermined criteria such as date information. Once all server-based items are analyzed, and selected items are downloaded, all local copies of items, that do not satisfy the predetermined criteria, are deleted to maintain a sliding or selective view of the server-based items belonging to the client account.
As a further feature of the invention the ability to limit the number of downloaded e-mail messages is provided for either a POP server or an IMAP server. With respect to the POP server, the invention limits the e-mail messages the H/PC will accept since the POP does not provide such selectivity. With respect to the IMAP server, the invention verifies the selectivity in downloading since IMAP provides selectivity in downloading e-mail messages.